package com.example.mislugares;

import android.util.Log;

public class GeoPunto {
	
	//atributos
	private double latitud;
	   //distancia angular entre el ecuador de la tierra y la posicion.
	private double longitud;
	   //distancia angular entre el meridiano 0 y la posicion
	
	//Constructor
	public GeoPunto (double latitud, double longitud){
		this.longitud = longitud;
		this.latitud = latitud;
	}
	//Metodos
	public String toString(){
		return latitud+" "+longitud+"";
	}
	public double distancia(GeoPunto punto){
		final double RADIO_TIERRA = 6371000; // en metros
		double dLat = Math.toRadians(latitud - punto.latitud);
		double dLon = Math.toRadians(longitud - punto.longitud);
		double lat1 = Math.toRadians(punto.latitud);
	    double lat2 = Math.toRadians(latitud);
	    double a =    Math.sin(dLat/2) * Math.sin(dLat/2) +
	                    Math.sin(dLon/2) * Math.sin(dLon/2) *
	                    Math.cos(lat1) * Math.cos(lat2);
	    double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
	    return c * RADIO_TIERRA; 
	}
	public double getLatitud() {
		return latitud;
	}
	public void setLatitud(double latitud) {
		Log.d("RAULLLLLLLLLL", "dentro de setLatitud");
		this.latitud = latitud;
	}
	public double getLongitud() {
		return longitud;
	}
	public void setLongitud(double longitud) {
		Log.d("RAULLLLLLLLLLLLLLL", "dentro de setLongitud");
		this.longitud = longitud;
	}
}
